package br.com.cultbook.service;

import java.rmi.RemoteException;
import java.util.List;

import javax.ejb.Stateless;

import br.com.cultbook.dao.PedidoDAO;
import br.com.cultbook.model.Pedido;

@Stateless
public class PedidoService extends CultBookService implements ICultBookServices<Pedido>{
		
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public void incluir(Pedido t) throws RemoteException {
		new PedidoDAO().incluir(em, t); 
	}

	@Override
	public void alterar(Pedido t) throws RemoteException {
		new PedidoDAO().alterar(em, t);
	}

	@Override
	public void excluir(long id) throws RemoteException {
		try{
			final Pedido t = this.buscarPorId(id);
			new PedidoDAO().excluir(em, t);
		} catch (Exception e) {
			throw new RemoteException("Existem registros associados ao que se pretende excluir.");
		}
	}

	@Override
	public List<Pedido> pesquisar(String key) throws RemoteException {
		return new PedidoDAO().pesquisar(em, key);
	}

	@Override
	public List<Pedido> buscarTodos() throws RemoteException {
		return new PedidoDAO().buscarTodos(em);
	}

	@Override
	public Pedido buscarPorId(long id) throws RemoteException {
		return em.find(Pedido.class, id);
	}
}
